package com.proj.android.canyondefense.game.map;

import java.util.ArrayList;

import com.proj.android.canyondefense.core.gl.TextureRegion;
import com.proj.android.canyondefense.game.Type;
import com.proj.android.canyondefense.game.assets.MapTilesAssets;

public class SettingType extends Type {
	
	public static SettingType DESERT = new SettingType("Desert", 0, getDesertTiles());
    //public static SettingType METAL = new SettingType("Metal", 1, [null, MetallTile, MetallTile2x2, MetallTile3x3, null, MetallTile_NB, border_U_metalMC, border_R_metalMC, border_D_metalMC, border_L_metalMC, MetallTile_WALL, MetallTile_T_WALL, MetallRoad]);
    //public static SettingType SNOW = new SettingType("Snow", 2, [null, SnowTile, SnowTile2x2, SnowTile3x3, null, SnowTile_NB, border_U_snowMC, border_R_snowMC, border_D_snowMC, border_L_snowMC, MetallTile_WALL, MetallTile_T_WALL, SnowRoad]);
    public static int TILE_ROAD = 12;
    public static int TILE_HIGHLAND_1x1 = 1;
    public static int TILE_HIGHLAND_2x2 = 2;
    public static int TILE_HIGHLAND_3x3 = 3;
    public static int TILE_NO_TILE = 4;
    public static int TILE_NO_BUILD = 5;
    public static int BORDER_UP = 6;
    public static int BORDER_RIGHT = 7;
    public static int BORDER_DOWN = 8;
    public static int BORDER_LEFT = 9;
    public static int WALL = 10;
    public static int TWALL = 11;
	
	public int code;
	public ArrayList<TextureRegion> tiles;
	
	public SettingType(String name, int code, ArrayList<TextureRegion> tiles) {
		super(name);
		this.code = code;
		this.tiles = tiles;
	}
	
	public static ArrayList<TextureRegion> getDesertTiles() {
		ArrayList<TextureRegion> result = new ArrayList<TextureRegion>();
		result.add(null);
		result.add(MapTilesAssets.rockTile);
		result.add(MapTilesAssets.rockTile2x2);
		result.add(MapTilesAssets.rockTile3x3);
		result.add(null);
		result.add(MapTilesAssets.rockTile_NB);
		result.add(MapTilesAssets.border_U_rockMC);
		result.add(MapTilesAssets.border_R_rockMC);
		result.add(MapTilesAssets.border_D_rockMC);
		result.add(MapTilesAssets.border_L_rockMC);
		result.add(MapTilesAssets.metallTile_WALL);
		result.add(MapTilesAssets.metallTile_T_WALL);
		result.add(MapTilesAssets.rockRoad);
		return result;
	}
}
